package com.intelligence.tio.server.handler;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.tio.core.Aio;
import org.tio.core.ChannelContext;
import org.tio.json.Json;

import com.intelligence.tio.common.JsonPacket;
import com.intelligence.tio.common.TioSessionContext;
import com.intelligence.tio.common.intf.AbsTioBsHandler;
import com.intelligence.tio.common.packages.UserExitReqBody;

/**
* @Title: UserExitReqHandler.java 
* @Package com.intelligence.tio.server.handler 
* @Description: 用户退出直播间处理器
* @Company: 南京因坦利软件有限公司
* @author 郭浩柱  
* @date 2017年5月24日 下午4:02:42 
* @version V1.0
 */
public class UserExitReqHandler extends AbsTioBsHandler<UserExitReqBody>
{
	private static Logger log = LoggerFactory.getLogger(UserExitReqHandler.class);

	/** 
	 * 
	 */
	@Override
	public Class<UserExitReqBody> bodyClass()
	{


		return UserExitReqBody.class;
	}

	@Override
	public Object handler(JsonPacket packet, UserExitReqBody bsBody, ChannelContext<TioSessionContext, JsonPacket, Object> channelContext) throws Exception
	{
		log.info("收到用户退出直播间请求消息:{}", Json.toJson(bsBody));
		
//		//提示发送用户数据格式发送错误
//		DataErrorRespBody body = new DataErrorRespBody();
//		body.setCommand(Command.COMMAND_DATA_ERROR_RESP.getValue());
//		body.setCode(-1);
//		body.setMsg("数据格式错误，请发送正确JSON格式数据！");
//		JsonPacket respPacket = new JsonPacket();
//		respPacket.setBody(Json.toJson(body).getBytes(JsonPacket.CHARSET));
//		Aio.send(channelContext, respPacket);
//		
		
		//指定用户与指定组解绑关系
		String groupId = channelContext.getSessionContext().getGroupId();
		Aio.unbindGroup(groupId, channelContext);
		
		return null;
	}
}
